package Abnormal;

import java.util.Scanner;

public class Practice {
    public static void main(String[] args) {
        /*
        需求:
            键盘录入姓名和年龄
            姓名长度在3~10之间
            年龄在18~40
            超出这个范围是异常数据，不能赋值
            需要重写录入，一直录到正确数据为止
         需求:
         需要考虑用户在键盘录入时的所有情况
         比如:
            录入年龄时超出范围，录入年龄时录入了abc等情况
         */
        //创建对象
        Studers stu = new Studers();
        //创建键盘录入的对象
        Scanner sc=new Scanner(System.in);
        while (true) {
            try {
                //提示
                System.out.println("请输入姓名：");
                //接收
                String name = sc.nextLine();
                //添加
                stu.setName(name);

                System.out.println("请输入年龄:");
                String ageStr = sc.nextLine();
                //数据转换
                int age = Integer.parseInt(ageStr);
                stu.setAge(age);

                //执行到这里表示数据正确，所以结束代码
                break;
            } catch (NumberFormatException e) {
                //NumberFormatException  格式有误的异常
                System.out.println("格式有误，请检查后重写输入!");
            }catch (RuntimeException e){
                //RuntimeException  长度有误的异常
                System.out.println("长度有误请检测后重新输入!");
            }
        }
        //打印最终数据
        System.out.println(stu);

    }
}
